﻿
var logOnDialog;
var registerDialog;
function init() {

    $("button, input:submit, a.nav,input:button").button();// aplica boton a los siguientes elementos

     $('#tabs').tabs();//
     initJobTable();
     initLoginRegisterDialog();
 }
 function initLoginRegisterDialog() {
    

 //aplico la funcion onclick al link de logon y registrar
     $("#lnkLogIn").click(function () {
         $("#LogonDialog").dialog('open');
     }).css("cursor", "pointer");

     $("#lnkRegister,#lnkRegisterLogon").click(function () {
         $("#RegisterDialog").dialog('open');
     }).css("cursor", "pointer"); 

    

     

     //dialogo de registro
     var registerDialogOptions = { "dialogId": "RegisterDialog", "actionButtonId": "btnRegister",
         "showDialogInputId": "register", "actionUrl": "/Account/Register"
     };
     registerDialog = new AjaxDialog(registerDialogOptions);
     registerDialog.render();

     //dialogo de logon
     var logOnOptions = { "dialogId": "LogonDialog", "actionButtonId": "btnLogon",
         "showDialogInputId": "logOn", "actionUrl": "/Account/LogOn"
     };

     logOnDialog = new AjaxDialog(logOnOptions);
     logOnDialog.render();
 }


 //Cuando un input de un formulario recibe un enter presiona un boton especifico (click)
 function triggerEnterAction(containerId, buttonId) {
     $("#" + containerId).find(":input").each(function () {
         $(this).keyup(function (event) {
             if (event.keyCode == 13) {
                 $("#" + buttonId).click();
             }

         });
     }
        );
 };



 function AjaxDialog(options) {
     var dialogId = options.dialogId;
     var actionButtonId = options.actionButtonId;
     var showDialogInputId = options.showDialogInputId;
     var actionUrl = options.actionUrl;
     var originalHtml = $("#" + dialogId).html();
     var firstRender = true;
     var dialog = $("#" + dialogId);
     var actionButton = $("#" + actionButtonId);
     function init() {
          $("#" + dialogId).dialog({
             autoOpen: false,
             height: 550,
             width: 400,
             modal: true,
             close:function()
             {
               
             }
         });
     }
     init(); //inicializamos

     this.render = function () {
         if (!firstRender) {
            dialog.html(originalHtml);
         } else {
             firstRender = false
         }
         applyButtonCss();
         bind();
     }

     function applyButtonCss() {
         dialog.find("button, input:submit, a.nav,input:button").button();
      }
    
     function bind() {
         //Verificamos si es redireccion de una pagina no autorizada si es asi mostramos dialogo
         var inputSolLogon = $("#" + dialogId).find("input#" + showDialogInputId);
         if (inputSolLogon.attr("value") == 1) {
             $("#"+dialogId).dialog("open");
         }
         actionButton.click(logOnAction);
         triggerEnterAction(dialogId, actionButtonId);  
      }

      var logOnAction = function () {
          dialog.find("form").css("display", "none");
          var originalHeight = dialog.css("height");
          dialog.css("height", 200);
          $("#imgLogOnLoading").css("display", "inline");
          $.post(actionUrl, dialog.find("form").serialize(), function (respuesta) {
              $("#imgLogOnLoading").css("display", "none");
              dialog.css("height", originalHeight);
              var logOnDialog = $(respuesta);
              if (logOnDialog.attr("id") == dialogId) {//hubo error respuesta deberia venir vacia
                  dialog.html(logOnDialog.html());
                  $("#" + actionButtonId).click(logOnAction);
                  applyButtonCss();

              }
              else {//Exito

                  window.location.href = logOnDialog.html(); //<div>[urlRedireccion]</div>
              }
          });
      };

  }

  


  function initJobTable() {
      $(".jobTable tr.jobContent").hover(function () {
          $(this).addClass("ui-state-hover");
      }, function () {
          $(this).removeClass("ui-state-hover");
      });
      $(".jobTable tr th").parent().addClass("ui-widget-header ui-corner-all");

   }